package syllabus.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import syllabus.model.Criteria;
import syllabus.model.PRole;

public interface PRoleMapper {
    /**
     * 根据条件查询记录总数
     */
    int countByExample(Criteria example);

    /**
     * 根据条件删除记录
     */
    int deleteByExample(Criteria example);

    /**
     * 根据主键删除记录
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 保存记录,不管记录里面的属性是否为空
     */
    int insert(PRole record);

    /**
     * 保存属性不为空的记录
     */
    int insertSelective(PRole record);

    /**
     * 根据条件查询记录集
     */
    List<PRole> selectByExample(Criteria example);

    /**
     * 根据主键查询记录
     */
    PRole selectByPrimaryKey(Integer id);

    /**
     * 根据条件更新属性不为空的记录
     */
    int updateByExampleSelective(@Param("record") PRole record, @Param("example") Criteria example);

    /**
     * 根据条件更新记录
     */
    int updateByExample(@Param("record") PRole record, @Param("example") Criteria example);

    /**
     * 根据主键更新属性不为空的记录
     */
    int updateByPrimaryKeySelective(PRole record);

    /**
     * 根据主键更新记录
     */
    int updateByPrimaryKey(PRole record);
    
    /**
     * 根据用户名获取角色
     * @param example
     * @return
     */
    List<PRole> getRoles(Criteria example);
}